package com.copa.l705;

/**
 * @author copa
 * @createDate 2022-06-13 11:13
 * @function 数组法
 */
public class Test3 {

    // 因为题目已知最大是10^6
    public static final Integer MAX_LENGTH = 1000001;

    // 设置数组，里面的元素若为false就是不存在，true就是存在
    private boolean[] array;

    public Test3() {
        this.array = new boolean[MAX_LENGTH];
    }

    public void add(int key) {
        if (!array[key]) {
            array[key] = true;
        }
    }

    public void remove(int key) {
        if (array[key]) {
            array[key] = false;
        }
    }

    public boolean contains(int key) {
        return array[key] ? true : false;
    }

    public static void main(String[] args) {
        Test3 myHashSet = new Test3();
        myHashSet.add(1);      // set = [1]
        myHashSet.add(2);      // set = [1, 2]
        myHashSet.contains(1); // 返回 True
        myHashSet.contains(3); // 返回 False ，（未找到）
        myHashSet.add(2);      // set = [1, 2]
        myHashSet.contains(2); // 返回 True
        myHashSet.remove(2);   // set = [1]
        myHashSet.contains(2); // 返回 False ，（已移除）
    }
}
